//这里书写属性相关的API文件
import request from '@/utils/request'
import type { CategoryResponseData, AttrResponseData, Attr } from './type'

enum API {
  C1_URL = '/admin/product/getCategory1', // 一级分类
  C2_URL = '/admin/product/getCategory2/', // 二级分类
  C3_URL = '/admin/product/getCategory3/', // 三级分类
  ATTR_URL = '/admin/product/attrInfoList/', // 获取分类下数据
  ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo', // 添加或者修改属性的
  DELETEATTR_URL = '/admin/product/deleteAttr/', // 删除属性
}

// 一级分类
export const reqC1 = () => request.get<any, CategoryResponseData>(API.C1_URL)
// 二级分类
export const reqC2 = (category1Id: number | string) =>
  request.get<any, CategoryResponseData>(API.C2_URL + category1Id)
// 三级分类
export const reqC3 = (category2Id: number | string) =>
  request.get<any, CategoryResponseData>(API.C3_URL + category2Id)
// 获取对应分类的属性与属性值
export const reqAttr = (
  category1Id: string | number,
  category2Id: string | number,
  category3Id: string | number,
) => request.get<any, AttrResponseData>(
      API.ATTR_URL + `${category1Id}/${category2Id}/${category3Id}`,
    )

// 新增/修改属性
export const reqAddOrUpdateAttr = (data: Attr) =>
  request.post<any, any>(API.ADDORUPDATEATTR_URL, data)

// 删除属性
export const reqRemoveAttr = (attrId: number) =>
  request.delete<any, any>(API.DELETEATTR_URL + attrId)
